import { ApiProperty } from '@midwayjs/swagger';

export class DPModelInfoCreateDto {
  @ApiProperty({
    description: '模型名称',
    example: 'Model A',
  })
  MDName: string;

  @ApiProperty({
    description: '引擎ID',
    example: 1,
  })
  EngineID: number;

  @ApiProperty({
    description: '引擎类型',
    example: 1,
  })
  EngineType: number;

  @ApiProperty({
    description: '样本数量',
    example: 100,
  })
  SampleCount: number;

  @ApiProperty({
    description: '模型文件名',
    example: 'model_a.bin',
    required: false,
  })
  MDFileName?: string;

  @ApiProperty({
    description: '模型文件路径',
    example: '/path/to/model_a',
    required: false,
  })
  MDFilePath?: string;

  @ApiProperty({
    description: '备注',
    example: 'This is a model for testing purposes',
    required: false,
  })
  Mark?: string;
}

export class DPModelInfoUpdateDto {
  @ApiProperty({
    description: '模型ID (主键)',
    example: 1,
  })
  OBJID: number;

  @ApiProperty({
    description: '模型名称',
    example: 'Updated Model A',
    required: false,
  })
  MDName?: string;

  @ApiProperty({
    description: '引擎ID',
    example: 1,
    required: false,
  })
  EngineID?: number;

  @ApiProperty({
    description: '引擎类型',
    example: 1,
    required: false,
  })
  EngineType?: number;

  @ApiProperty({
    description: '样本数量',
    example: 150,
    required: false,
  })
  SampleCount?: number;

  @ApiProperty({
    description: '模型文件名',
    example: 'updated_model_a.bin',
    required: false,
  })
  MDFileName?: string;

  @ApiProperty({
    description: '模型文件路径',
    example: '/path/to/updated_model_a',
    required: false,
  })
  MDFilePath?: string;

  @ApiProperty({
    description: '备注',
    example: 'Updated model with new data',
    required: false,
  })
  Mark?: string;
}

export class DPModelInfoQueryDto {
  @ApiProperty({
    description: '模型名称',
    example: 'Model A',
    required: false,
  })
  MDName?: string;

  @ApiProperty({
    description: '引擎ID',
    example: 1,
    required: false,
  })
  EngineID?: number;

  @ApiProperty({
    description: '引擎类型',
    example: 1,
    required: false,
  })
  EngineType?: number;

  @ApiProperty({
    description: '当前页码',
    example: 1,
  })
  page: number = 1;

  @ApiProperty({
    description: '每页显示的数量',
    example: 10,
  })
  limit: number = 10;
}

export class DPModelInfoDeleteDto {
  @ApiProperty({
    description: '模型ID (主键)',
    example: 1,
  })
  OBJID: number;
}
